<!--$Id: db_recover.so,v 10.27 2002/08/24 18:24:53 bostic Exp $-->
<!--Copyright 1997-2004 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<!--See the file LICENSE for redistribution information.-->
<html>
<head>
<title>Berkeley DB: db_recover</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++">
</head>
<body bgcolor=white>
<table width="100%"><tr valign=top>
<td>
<h3>db_recover</h3>
</td>
</tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>db_recover [<b>-ceVv</b>] [<b>-h home</b>] [<b>-P password</b>] [<b>-t [[CC]YY]MMDDhhmm[.SS]]</b>]</pre></h3>
<h3>Description</h3>
<a name="2"><!--meow--></a>
<p>The db_recover utility must be run after an unexpected application,
Berkeley DB, or system failure to restore the database to a consistent state.
All committed transactions are guaranteed to appear after db_recover
has run, and all uncommitted transactions will be completely undone.</p>
<p>The options are as follows:</p>
<dl compact>
<dt><b>-c</b><dd>Perform catastrophic recovery instead of normal recovery.
<dt><b>-e</b><dd>Retain the environment after running recovery.  This option
will rarely be used unless a DB_CONFIG file is present in the home
directory.  If a DB_CONFIG file is not present, then the regions will be
created with default parameter values.
<dt><b>-h</b><dd>Specify a home directory for the database environment; by
default, the current working directory is used.
<dt><b>-P</b><dd>Specify an environment password.  Although Berkeley DB utilities overwrite
password strings as soon as possible, be aware there may be a window of
vulnerability on systems where unprivileged users can see command-line
arguments or where utilities are not able to overwrite the memory
containing the command-line arguments.
<dt><b>-t</b><dd>Recover to the time specified rather than to the most current possible
date.  The timestamp argument should be in the form
[[CC]YY]MMDDhhmm[.SS] where each pair of
letters represents the following:
<dl compact>
<dt>CC<dd>The first two digits of the year (the century).
<dt>YY<dd>The second two digits of the year.  If "YY" is specified, but "CC" is not,
a value for "YY" between 69 and 99 results in a "YY" value of 19.  Otherwise,
a "YY" value of 20 is used.
<dt>MM<dd>The month of the year, from 1 to 12.
<dt>DD<dd>The day of the month, from 1 to 31.
<dt>hh<dd>The hour of the day, from 0 to 23.
<dt>mm<dd>The minute of the hour, from 0 to 59.
<dt>SS<dd>The second of the minute, from 0 to 61.
</dl>
<p>If the "CC" and "YY" letter pairs are not specified, the values default
to the current year.  If the "SS" letter pair is not specified, the value
defaults to 0.</p>
<dt><b>-V</b><dd>Write the library version number to the standard output, and exit.
<dt><b>-v</b><dd>Run in verbose mode.
</dl>
<p>In the case of catastrophic recovery, an archival copy -- or
<i>snapshot</i> -- of all database files must be restored along with
all of the log files written since the database file snapshot was made.
(If disk space is a problem, log files may be referenced by symbolic
links).  For further information on creating a database snapshot, see
<a href="../ref/transapp/archival.html">Archival Procedures</a>.  For
further information on performing recovery, see
<a href="../ref/transapp/recovery.html">Recovery Procedures</a>.</p>
<p>If the failure was not catastrophic, the files present on the system at the
time of failure are sufficient to perform recovery.</p>
<p>If log files are missing, db_recover will identify the missing
log file(s) and fail, in which case the missing log files need to be
restored and recovery performed again.</p>
<p>The db_recover utility uses a Berkeley DB environment (as described for the
<b>-h</b> option, the environment variable <b>DB_HOME</b>, or
because the utility was run in a directory containing a Berkeley DB
environment).  In order to avoid environment corruption when using a
Berkeley DB environment, db_recover should always be given the chance to
detach from the environment and exit gracefully.  To cause db_recover
to release all environment resources and exit cleanly, send it an
interrupt signal (SIGINT).</p>
<p>The db_recover utility exits 0 on success, and &gt;0 if an error occurs.</p>
<h3>Environment Variables</h3>
<dl compact>
<dt>DB_HOME<dd>If the <b>-h</b> option is not specified and the environment variable
DB_HOME is set, it is used as the path of the database home, as described
in <a href="../api_c/env_open.html">DB_ENV-&gt;open</a>.
</dl>
</tt>
<p><font size=1><a href="../sleepycat/legal.html">Copyright (c) 1996-2004</a> <a href="http://www.sleepycat.com">Sleepycat Software, Inc.</a> - All rights reserved.</font>
</body>
</html>
